<?php
include_once "Pessoa.php";
include_once "Dependente.php";
include_once "CursoExterno.php";

	class Aluno extends Pessoa{
		private $rg, $orgaoExpedidor,$endereco,
		$cidade, $bairro, $estado, $telefone,
		$matricula, $dataPraca,
		$dataNascimento, $email, $estadocivil, $dependentes, $naturalidade, $tipoSanguineo, $fatorRH,
		$nomeDoPai, $nomeDaMae, $escolaridade, $renach, $categoria, $cursoFora, $religiao, $banco, $agencia,
		$contacorrente;

		
		//Setters e Getters
		
		public function setRG($rg){
			if($rg!=null){
				$this->rg = $rg;
			}
		}
		
		public function setOrgaoExp($orgaoExp){
			if($orgaoExp!=null){
				$this->orgaoExpedidor = $orgaoExp;
			}
		}
		
		public function setEndereco($end){
			if($end!=null){
				$this->endereco = $end;
			}
		}
		
		public function setBairro($bairro){
			if($bairro!=null){
				$this->bairro = $bairro;
			}
		}
		
		public function setCidade($cidade){
			if($cidade!=null){
				$this->cidade = $cidade;
			}
		}
		
		public function setEstado($estado){
			if($estado!=null){
				$this->estado = $estado;
			}
		}
		
		public function setTelefone($telefone){
			if(isset($telefone) && count($telefone)>0){
				$this->telefone = $telefone;
			}
		}
		
		public function setTipoTelefone($tipoTelefone){
			if(isset($tipoTelefone) && count($tipoTelefone)>0){
				$this->tipoTelefone = $tipoTelefone;
			}
		}
		
		public function setMatricula($mat){
			if($mat!=null){
				$this->matricula = $mat;
			}
		}
		
		public function setDataPraca($data){
				$this->dataPraca = $data;
		}
		
		public function setDataNascimento($data){
				$this->dataNascimento = $data;
		}
		
		public function setEmail($email){
			if(!is_null($email)){
				$this->email = $email;
			}
		}
		
		
		public function setEstadoCivil($estadoCivil){
			if(!is_null($estadoCivil)){
				$this->estadocivil = $estadoCivil;
			}
		}
		
		
		public function setDependentes($dependentes){
			$this->dependentes = $dependentes;
		}
		
		public function setTipoSanguineo($tipoSanguineo, $fatorRH){
			$this->tipoSanguineo = $tipoSanguineo;
			$this->fatorRH = $fatorRH;
		}
		
		public function setNomeDoPai($nomeDoPai){
			if(!is_null($nomeDoPai)){
				$this->nomeDoPai = $nomeDoPai;
			}
		}
		
		public function setNomeDaMae($nomeDaMae){
			if(!is_null($nomeDaMae)){
				$this->nomeDaMae = $nomeDaMae;
			}
			
		}
		
		public function setEscolaridade($nivel, $situacao){
			if(strlen($situacao)>0){
				$escolaridade = $nivel." ".$situacao;
			}
			$this->escolaridade = $escolaridade;
		}
		
		public function setHabilitacao($renach, $categoria){
			$this->renach = $renach;
			$this->categoria = $categoria;
		}
		
		public function setReligiao($religiao){
			$this->religiao = $religiao;
		}
		
		public function setCursosFora($cursos, $tipoCursos){
			for($i=0; $i<count($cursos); $i++){
				$cursoFora[$i] = new CursoExterno();
				$cursoFora[$i]->setNomeCurso($cursos[$i]);
				$cursoFora[$i]->setTipoDoCurso($tipoCursos[$i]);
			}
			$this->cursoFora = $cursoFora;
		}
		
		public function setNaturalidade($naturalidade){
			if(!is_null($naturalidade)){
				$this->naturalidade = $naturalidade;
			}
		}
		
		public function setDadosBancarios($banco, $agencia, $contaCorrente){
			if(!is_null($banco) && !is_null($agencia) && !is_null($contaCorrente)){
				$this->banco = $banco;
				$this->agencia = $agencia;
				$this->contacorrente = $contaCorrente;
			}
		}
		
		/*Fim dos Setters
		 * Inicio dos Getters
		 */
		
		public function getRg(){
			return $this->rg;	
		}
		
		public function getOrgaoExp(){
			return $this->orgaoExpedidor;
		}
		
		public function getEnd(){
			return $this->endereco;
		}
		
		public function getBairro(){
			return $this->bairro;
		}
		
		public function getCidade(){
			return $this->cidade;
		}
		
		public function getEstado(){
			return $this->estado;
		}
		
		public function getTelefone(){
			return $this->telefone;
		}
		
		public function getMatricula(){
			return $this->matricula;
		}
		
		public function getDataPraca(){
			return $this->dataPraca;
		}
		
		public function getDataNasc(){
			return $this->dataNascimento;
		}
		
		public function getEmail(){
			return $this->email;
		}
		

		public function getEstadoCivil(){
			return $this->estadocivil;
		}
		
		public function getDependentes(){
			return $this->dependentes;
		}
		public function getNaturalidade(){
			return $this->naturalidade;
		}
		
		public function getTipoSanguineo(){
			return $this->tipoSanguineo;
		}
		
		public function getFatorRH(){
			return $this->fatorRH;
		}
		
		public function getNomeDoPai(){
			return $this->nomeDoPai;
		}
		
		public function getNomeDaMae(){
			return $this->nomeDaMae;
		}
		
		public function getEscolaridade(){
			return $this->escolaridade;
		}
		
		public function getRenach(){
			return $this->renach;
		}
		
		public function getCategoria(){
			return $this->categoria;
		}
		
		public function getCursoExterno(){
			return $this->cursoFora;		
		}
		
		public function getReligiao(){
			return $this->religiao;
		}
		
		public function getBanco(){
			return $this->banco;
		}
		
		public function getContaCorrente(){
			return $this->contacorrente;
		}
		
		public function getAgencia(){
			return $this->agencia;
		}

		//Fim dos Getters
		
		private function validaData(int $dia, int $mes, int $ano){
			if(!is_null($dia) && !is_null($mes) && !is_null($ano)){
				if($dia>0 && $dia<=31){
					if($mes>0 && $mes<=12){
						if(strlen(ano)>=4){
							return true;
						}
					}
				}								
			}
			return false;
		}//fim do validador de data
				
	}
?>	